public class JavaInfo {
    private final String javaVersion;
    private final String javaVendor;
    private final String javaHome;
    private final String javaClassPath;
    private final String javaClassVersion;
    private final String javaLibraryPath;
    private final String javaIoTmpDir;
    private final String javaCompiler;
    private final String javaExtDirs;
    private final String javaEndorsedDirs;

    public JavaInfo() {
        this.javaVersion = System.getProperty("java.version");
        this.javaVendor = System.getProperty("java.vendor");
        this.javaHome = System.getProperty("java.home");
        this.javaClassPath = System.getProperty("java.class.path");
        this.javaClassVersion = System.getProperty("java.class.version");
        this.javaLibraryPath = System.getProperty("java.library.path");
        this.javaIoTmpDir = System.getProperty("java.io.tmpdir");
        this.javaCompiler = System.getProperty("java.compiler");
        this.javaExtDirs = System.getProperty("java.ext.dirs");
        this.javaEndorsedDirs = System.getProperty("java.endorsed.dirs");
    }

    public static void main(String[] args) {
        JavaInfo javaInfo = new JavaInfo();

        System.out.println("Java Version: " + javaInfo.javaVersion);
        System.out.println("Java Vendor: " + javaInfo.javaVendor);
        System.out.println("Java Home: " + javaInfo.javaHome);
        System.out.println("Java Class Path: " + javaInfo.javaClassPath);
        System.out.println("Java Class Version: " + javaInfo.javaClassVersion);
        System.out.println("Java Library Path: " + javaInfo.javaLibraryPath);
        System.out.println("Java IO Temp Dir: " + javaInfo.javaIoTmpDir);
        System.out.println("Java Compiler: " + javaInfo.javaCompiler);
        System.out.println("Java Ext Dirs: " + javaInfo.javaExtDirs);
        System.out.println("Java Endorsed Dirs: " + javaInfo.javaEndorsedDirs);
    }
}
